<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFrameworks>$(NetCoreAppCurrent)-windows;$(NetCoreAppCurrent)-unix</TargetFrameworks>
    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
    <StringResourcesPath>$(MSBuildProjectDirectory)\..\src\Resources\Strings.resx</StringResourcesPath>
    <IncludeRemoteExecutor>true</IncludeRemoteExecutor>
  </PropertyGroup>
  <ItemGroup>
    <Compile Include="$(CommonTestPath)System\IO\TempDirectory.cs" Link="Common\System\IO\TempDirectory.cs" />
    <Compile Include="CompressedTar.Async.Tests.cs" />
    <Compile Include="CompressedTar.Tests.cs" />
    <Compile Include="SimulatedDataStream.cs" />
    <Compile Include="TarEntry\TarEntry.ExtractToFile.Tests.cs" />
    <Compile Include="TarEntry\TarEntry.ExtractToFileAsync.Tests.cs" />
    <Compile Include="TarFile\TarFile.ExtractToDirectory.Base.cs" />
    <Compile Include="TarFile\TarFile.CreateFromDirectoryAsync.File.Roundtrip.cs" />
    <Compile Include="TarFile\TarFile.ExtractToDirectoryAsync.Stream.Tests.cs" />
    <Compile Include="TarFile\TarFile.ExtractToDirectoryAsync.File.Tests.cs" />
    <Compile Include="TarFile\TarFile.CreateFromDirectoryAsync.Stream.Tests.cs" />
    <Compile Include="TarFile\TarFile.CreateFromDirectoryAsync.File.Tests.cs" />
    <Compile Include="TarFile\TarFile.CreateFromDirectory.File.Roundtrip.cs" />
    <Compile Include="TarEntry\TarEntry.Conversion.Tests.Base.cs" />
    <Compile Include="TarEntry\GnuTarEntry.Conversion.Tests.cs" />
    <Compile Include="TarEntry\PaxTarEntry.Conversion.Tests.cs" />
    <Compile Include="TarEntry\UstarTarEntry.Conversion.Tests.cs" />
    <Compile Include="TarEntry\V7TarEntry.Conversion.Tests.cs" />
    <Compile Include="TarEntry\V7TarEntry.Tests.cs" />
    <Compile Include="TarEntry\UstarTarEntry.Tests.cs" />
    <Compile Include="TarEntry\PaxTarEntry.Tests.cs" />
    <Compile Include="TarEntry\GnuTarEntry.Tests.cs" />
    <Compile Include="TarFile\TarFile.CreateFromDirectory.File.Tests.cs" />
    <Compile Include="TarFile\TarFile.CreateFromDirectory.Stream.Tests.cs" />
    <Compile Include="TarFile\TarFile.ExtractToDirectory.File.Tests.cs" />
    <Compile Include="TarFile\TarFile.ExtractToDirectory.Stream.Tests.cs" />
    <Compile Include="TarReader\TarReader.Async.Tests.cs" />
    <Compile Include="TarReader\TarReader.StreamConformanceTests.cs" />
    <Compile Include="TarReader\TarReader.File.GlobalExtendedAttributes.Async.Tests.cs" />
    <Compile Include="TarReader\TarReader.File.Async.Tests.Base.cs" />
    <Compile Include="TarReader\TarReader.File.Async.Tests.cs" />
    <Compile Include="TarReader\TarReader.GetNextEntryAsync.Tests.cs" />
    <Compile Include="TarReader\TarReader.File.GlobalExtendedAttributes.Tests.cs" />
    <Compile Include="TarReader\TarReader.File.Tests.Base.cs" />
    <Compile Include="TarReader\TarReader.TarEntry.ExtractToFileAsync.Tests.cs" />
    <Compile Include="TarReader\TarReader.TarEntry.ExtractToFile.Tests.cs" />
    <Compile Include="TarReader\TarReader.File.Tests.cs" />
    <Compile Include="TarReader\TarReader.GetNextEntry.Tests.cs" />
    <Compile Include="TarReader\TarReader.Tests.cs" />
    <Compile Include="TarTestsBase.cs" />
    <Compile Include="TarTestsBase.Gnu.cs" />
    <Compile Include="TarTestsBase.Pax.cs" />
    <Compile Include="TarTestsBase.Posix.cs" />
    <Compile Include="TarTestsBase.Ustar.cs" />
    <Compile Include="TarTestsBase.V7.cs" />
    <Compile Include="TarWriter\TarWriter.WriteEntry.Entry.Roundtrip.Tests.cs" />
    <Compile Include="TarWriter\TarWriter.WriteEntryAsync.File.Tests.cs" />
    <Compile Include="TarWriter\TarWriter.WriteEntry.Base.cs" />
    <Compile Include="TarWriter\TarWriter.WriteEntryAsync.Tests.cs" />
    <Compile Include="TarWriter\TarWriter.WriteEntryAsync.Entry.Roundtrip.Tests.cs" />
    <Compile Include="TarWriter\TarWriter.WriteEntryAsync.Entry.Ustar.Tests.cs" />
    <Compile Include="TarWriter\TarWriter.WriteEntryAsync.Entry.V7.Tests.cs" />
    <Compile Include="TarWriter\TarWriter.WriteEntryAsync.Entry.Pax.Tests.cs" />
    <Compile Include="TarWriter\TarWriter.WriteEntryAsync.Entry.Gnu.Tests.cs" />
    <Compile Include="TarWriter\TarWriter.Async.Tests.cs" />
    <Compile Include="TarWriter\TarWriter.WriteEntry.File.Tests.cs" />
    <Compile Include="TarWriter\TarWriter.Tests.cs" />
    <Compile Include="TarWriter\TarWriter.WriteEntry.Entry.Gnu.Tests.cs" />
    <Compile Include="TarWriter\TarWriter.WriteEntry.Entry.Pax.Tests.cs" />
    <Compile Include="TarWriter\TarWriter.WriteEntry.Tests.cs" />
    <Compile Include="TarWriter\TarWriter.WriteEntry.Entry.Ustar.Tests.cs" />
    <Compile Include="TarWriter\TarWriter.WriteEntry.Entry.V7.Tests.cs" />
    <Compile Include="$(CommonPath)DisableRuntimeMarshalling.cs" Link="Common\DisableRuntimeMarshalling.cs" />
    <Compile Include="$(CommonTestPath)System\IO\ReparsePointUtilities.cs" Link="Common\System\IO\ReparsePointUtilities.cs" />
    <Compile Include="$(CommonTestPath)System\IO\WrappedStream.cs" Link="Common\System\IO\WrappedStream.cs" />
  </ItemGroup>
  <!-- Windows specific files -->
  <ItemGroup Condition="'$(TargetPlatformIdentifier)' == 'windows'">
    <Compile Include="TarFile\TarFile.ExtractToDirectory.File.Tests.Windows.cs" />
    <Compile Include="TarFile\TarFile.ExtractToDirectoryAsync.File.Tests.Windows.cs" />
    <Compile Include="TarWriter\TarWriter.File.Base.Windows.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\Interop.BOOL.cs" Link="Common\Interop\Windows\Interop.BOOL.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\Interop.Errors.cs" Link="Common\Interop\Windows\Interop.Errors.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\Interop.Libraries.cs" Link="Common\Interop\Windows\Interop.Libraries.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\Kernel32\Interop.CreateHardLink.cs" Link="Common\Interop\Windows\Kernel32\Interop.CreateHardLink.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\Kernel32\Interop.FormatMessage.cs" Link="Common\Interop\Windows\Kernel32\Interop.FormatMessage.cs" />
    <Compile Include="$(CommonPath)System\IO\PathInternal.Windows.cs" Link="Common\System\IO\PathInternal.Windows.cs" />
    <Compile Include="$(CommonPath)System\IO\Win32Marshal.cs" Link="Common\System\IO\Win32Marshal.cs" />
    <Compile Include="$(CommonPath)System\Text\ValueStringBuilder.cs" Link="Common\System\Text\ValueStringBuilder.cs" />
  </ItemGroup>
  <!-- Unix specific files -->
  <ItemGroup Condition="'$(TargetPlatformIdentifier)' != 'windows'">
    <Compile Include="TarEntry\TarEntry.ExtractToFile.Tests.Unix.cs" />
    <Compile Include="TarFile\TarFile.ExtractToDirectory.File.Tests.Unix.cs" />
    <Compile Include="TarFile\TarFile.ExtractToDirectoryAsync.File.Tests.Unix.cs" />
    <Compile Include="TarReader\TarReader.TarEntry.ExtractToFileAsync.Tests.Unix.cs" />
    <Compile Include="TarReader\TarReader.TarEntry.ExtractToFile.Tests.Unix.cs" />
    <Compile Include="TarWriter\TarWriter.File.Base.Unix.cs" />
    <Compile Include="TarWriter\TarWriter.WriteEntry.File.Tests.Unix.cs" />
    <Compile Include="TarWriter\TarWriter.WriteEntryAsync.File.Tests.Unix.cs" />
    <Compile Include="$(CommonPath)Interop\Unix\Interop.Errors.cs" Link="Common\Interop\Unix\Interop.Errors.cs" />
    <Compile Include="$(CommonPath)Interop\Unix\Interop.IOErrors.cs" Link="Common\Interop\Unix\Interop.IOErrors.cs" />
    <Compile Include="$(CommonPath)Interop\Unix\Interop.Libraries.cs" Link="Common\Interop\Unix\Interop.Libraries.cs" />
    <Compile Include="$(CommonPath)Interop\Unix\System.Native\Interop.DeviceFiles.cs" Link="Common\Interop\Unix\System.Native\Interop.DeviceFiles.cs" />
    <Compile Include="$(CommonPath)Interop\Unix\System.Native\Interop.GetEUid.cs" Link="Common\Interop\Unix\System.Native\Interop.GetEUid.cs" />
    <Compile Include="$(CommonPath)Interop\Unix\System.Native\Interop.GetPwUid.cs" Link="Common\Interop\Unix\System.Native\Interop.GetPwUid.cs" />
    <Compile Include="$(CommonPath)Interop\Unix\System.Native\Interop.GetGroupName.cs" Link="Common\Interop\Unix\System.Native\Interop.GetGroupName.cs" />
    <Compile Include="$(CommonPath)Interop\Unix\System.Native\Interop.Link.cs" Link="Common\Interop\Unix\System.Native\Interop.Link.cs" />
    <Compile Include="$(CommonPath)Interop\Unix\System.Native\Interop.MkFifo.cs" Link="Common\Interop\Unix\System.Native\Interop.MkFifo.cs" />
    <Compile Include="$(CommonPath)Interop\Unix\System.Native\Interop.Stat.cs" Link="Common\Interop\Unix\System.Native\Interop.Stat.cs" />
  </ItemGroup>
  <ItemGroup>
    <ProjectReference Include="$(CommonTestPath)StreamConformanceTests\StreamConformanceTests.csproj" />
    <PackageReference Include="System.Formats.Tar.TestData" Version="$(SystemFormatsTarTestDataVersion)" />
  </ItemGroup>
</Project>
